package com.example.dbsample.model.entity;

import com.example.dbsample.util.json.NumWriteAsStringSerializer;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.Date;

 /**
 * 菜单管理;
 * @author : http://www.chiner.pro
 * @date : 2024-3-6
 */
@ApiModel(value = "菜单管理",description = "")
public class SysMenu implements Serializable,Cloneable{
    /** id */
    @JsonSerialize(using = NumWriteAsStringSerializer.class)
    @ApiModelProperty(name = "id",notes = "")
    private Integer id ;
    /** 上级ID，一级菜单为0 */
    @ApiModelProperty(name = "上级ID，一级菜单为0",notes = "")
    private Integer pid ;
    /** 菜单名称 */
    @ApiModelProperty(name = "菜单名称",notes = "")
    private String name ;
    /** 菜单URL */
    @ApiModelProperty(name = "菜单URL",notes = "")
    private String url ;
    /** 授权标识(多个用逗号分隔，如：sys:menu:list,sys:menu:save) */
    @ApiModelProperty(name = "授权标识(多个用逗号分隔，如：sys:menu:list,sys:menu:save)",notes = "")
    private String authority ;
    /** 类型   0：菜单   1：按钮   2：接口 */
    @ApiModelProperty(name = "类型   0：菜单   1：按钮   2：接口",notes = "")
    private Integer type ;
    /** 打开方式   0：内部   1：外部 */
    @ApiModelProperty(name = "打开方式   0：内部   1：外部",notes = "")
    private Integer openStyle ;
    /** 菜单图标 */
    @ApiModelProperty(name = "菜单图标",notes = "")
    private String icon ;
    /** 排序 */
    @ApiModelProperty(name = "排序",notes = "")
    private Integer sort ;
    /** 版本号 */
    @ApiModelProperty(name = "版本号",notes = "")
    private Integer version ;
    /** 删除标识  0：正常   1：已删除 */
    @ApiModelProperty(name = "删除标识  0：正常   1：已删除",notes = "")
    private Integer deleted ;
    /** 创建者 */
    @ApiModelProperty(name = "创建者",notes = "")
    private Integer creator ;
    /** 创建时间 */
    @ApiModelProperty(name = "创建时间",notes = "")
    private Date createTime ;
    /** 更新者 */
    @ApiModelProperty(name = "更新者",notes = "")
    private Integer updater ;
    /** 更新时间 */
    @ApiModelProperty(name = "更新时间",notes = "")
    private Date updateTime ;

    /** id */
    public Integer getId(){
        return this.id;
    }
    /** id */
    public void setId(Integer id){
        this.id=id;
    }
    /** 上级ID，一级菜单为0 */
    public Integer getPid(){
        return this.pid;
    }
    /** 上级ID，一级菜单为0 */
    public void setPid(Integer pid){
        this.pid=pid;
    }
    /** 菜单名称 */
    public String getName(){
        return this.name;
    }
    /** 菜单名称 */
    public void setName(String name){
        this.name=name;
    }
    /** 菜单URL */
    public String getUrl(){
        return this.url;
    }
    /** 菜单URL */
    public void setUrl(String url){
        this.url=url;
    }
    /** 授权标识(多个用逗号分隔，如：sys:menu:list,sys:menu:save) */
    public String getAuthority(){
        return this.authority;
    }
    /** 授权标识(多个用逗号分隔，如：sys:menu:list,sys:menu:save) */
    public void setAuthority(String authority){
        this.authority=authority;
    }
    /** 类型   0：菜单   1：按钮   2：接口 */
    public Integer getType(){
        return this.type;
    }
    /** 类型   0：菜单   1：按钮   2：接口 */
    public void setType(Integer type){
        this.type=type;
    }
    /** 打开方式   0：内部   1：外部 */
    public Integer getOpenStyle(){
        return this.openStyle;
    }
    /** 打开方式   0：内部   1：外部 */
    public void setOpenStyle(Integer openStyle){
        this.openStyle=openStyle;
    }
    /** 菜单图标 */
    public String getIcon(){
        return this.icon;
    }
    /** 菜单图标 */
    public void setIcon(String icon){
        this.icon=icon;
    }
    /** 排序 */
    public Integer getSort(){
        return this.sort;
    }
    /** 排序 */
    public void setSort(Integer sort){
        this.sort=sort;
    }
    /** 版本号 */
    public Integer getVersion(){
        return this.version;
    }
    /** 版本号 */
    public void setVersion(Integer version){
        this.version=version;
    }
    /** 删除标识  0：正常   1：已删除 */
    public Integer getDeleted(){
        return this.deleted;
    }
    /** 删除标识  0：正常   1：已删除 */
    public void setDeleted(Integer deleted){
        this.deleted=deleted;
    }
    /** 创建者 */
    public Integer getCreator(){
        return this.creator;
    }
    /** 创建者 */
    public void setCreator(Integer creator){
        this.creator=creator;
    }
    /** 创建时间 */
    public Date getCreateTime(){
        return this.createTime;
    }
    /** 创建时间 */
    public void setCreateTime(Date createTime){
        this.createTime=createTime;
    }
    /** 更新者 */
    public Integer getUpdater(){
        return this.updater;
    }
    /** 更新者 */
    public void setUpdater(Integer updater){
        this.updater=updater;
    }
    /** 更新时间 */
    public Date getUpdateTime(){
        return this.updateTime;
    }
    /** 更新时间 */
    public void setUpdateTime(Date updateTime){
        this.updateTime=updateTime;
    }
}